<script setup lang="ts">
// function add(n1: number,n2: number): number {
//     return n1+ n2
// }
// interface ButtonProps {
//     type: 'primary' | 'danger';
//     click(e: MouseEvent): void;
// }

// interface InputProps {
//     value: string;
//     change: (value: string) => void;
// }

// interface InputProps<T>{

//     value:T;
//     per:T;
// }
// const obj: InputProps<string> = {
//     value:'',
//     per: ''
// }
// function map<T, S>(arr:T[], getitem: (item: T) => S ): S[] {
//     const res: S[] = [];
//     for(const item of arr){
//         const newitem = getitem(item);
//         res.push(newitem);
//     }
//     return res;
// }

// function some<T> (arr:T[], get:(item:T) => boolean):boolean {
//     for(const a of arr)
//         if(a === get){
//             return true
//         }
//         return false
    
// }
let x!: number;
initialize();
console.log(2 * x); // Error

function initialize() {
    x = 10;
}
</script>
